The postal services of many countries around the world permit and/or require the printing of evidence of postage payment, such as a postal indicium, that includes a two dimensional barcode. Such indicia are commonly referred to as Digital Postage Marks (DPM). For example, the United States Postal Service has implemented a program known as the Information Based Indicia Program (IBIP) which permits a user to generate a postage indicium for sending a mailpiece (e.g., letter, package, etc.) that includes a human readable portion and a machine readable portion in the form of a two dimensional barcode, such as, without limitation, a Data Matrix symbol.
As is known, a two dimensional barcode, such as a Data Matrix symbol, typically consists of a number of data regions having nominally square modules arranged in an array, wherein each module generally represents one bit of data. For a black on white Data Matrix symbol, for instance, a darkened (i.e., filled) module represents a binary “one” and a light (e.g., empty) module represents a binary “zero.” Each darkened module typically consists of multiple printed pixels (e.g., in the case of ink jet printing, multiple drops of ink). For example, a darkened module may consist of 25 pixels arranged in a 5×5 pixel pattern or 16 pixels arranged in a 4×4 pixel pattern. The data regions in a two dimensional barcode are usually surrounded by a finder pattern which, in turn, is surrounded by a quiet zone border. In addition, multiple data regions may be separated by an alignment pattern.
FIG. 1 illustrates an exemplary “empty” 40×40 Data Matrix symbol 10. More specifically, the symbol 10 shown in FIG. 1 includes 40 rows and 40 columns of modules 11. The left-most column 12 and the bottom-most row 13 of the symbol 10 form an “L” shaped boundary, often referred to as the finder pattern, which is employed to locate the symbol 10, to determine the physical size and orientation of the symbol 10 and/or to determine whether the symbol 10 was distorted when printed. The top-most row 14 and right-most column 15 of the symbol 10 consist of alternating dark and light modules 11 which are employed to define the cell structure of the symbol 10 and/or to assist in determining the physical size and distortion of the symbol 10. As seen in FIG. 1, the symbol 10 is divided into four data regions 16a-16d by a vertical alignment bar 17 and a horizontal alignment bar 18, also sometimes referred to as an alignment pattern. As shown in FIG. 1, each data region 16a-16d is comprised of 18 rows and 18 columns of modules 11. FIG. 2 illustrates the Data Matrix symbol 10 of FIG. 1 with information encoded and stored within the four data regions 16a-16d. A detailed description of the Data Matrix symbology can be found in ISO/IEC International Standard 16022:2000(E) entitled “Information Technology—International Symbology Specification—Data Matrix”.
The two dimensional barcode employed in many DPMs, such as the Data Matrix symbol in an IBIP indicium, typically includes encrypted or signed information, such as the postage amount and other postal data relating to the mailpiece and the postage meter that printed the indicium (usually referred to as a digital token or a digital signature), that may be used by the particular postal service in question to authenticate the indicia after the mailpieces have been entered into the mail stream. In particular, the postal service may use an optical scanning device to create a digital image of the DPM. A recognition routine, such as, for example, pattern matching, may then be employed to verify the authenticity of the DPM by decoding and interpreting the information contained within the DPM.
As is known, many posts already use optical scanning techniques to assist with the processing of mailpieces. In particular, many posts currently employ optical scanners running OCR thresholding algorithms to read address information from mailpieces wherein grayscale images taken from the mailpieces are converted to black and white images for further processing. The problem is that most of the OCR thresholding algorithms in use are optimized for use in reading addresses printed with a wide range of printers on a variety of envelopes and, for the reasons described below, are not well suited for also reading two dimensional barcodes.
The OCR thresholding algorithms used by many posts to read addressees are designed to simplify the further OCR processing by first separating background regions (paper only) from foreground regions (ink and paper). Typically, the background removal is performed using a windowing technique wherein a window is progressively moved along and about the image and in each spot the portion of the image covered by the window is tested against two tests. In the first test, it is determined whether the portion within the window is too dark to be allowed as paper. In the second test, it is determined whether the variation of reflectivity within the window is large enough for it to be considered to contain useful OCR information. If the portion within the window passes either of these two tests, then that portion is considered to be a candidate for OCR processing, and the image is converted from grayscale to black and white using a thresholding technique (i.e., pixels below a threshold level are considered black and pixels above a threshold level are considered white). However, if a portion within the window fails both tests, then it is not considered to be an OCR candidate and is treated as background, meaning all of the pixels are converted to white.
This processing presents a problem when the image being read is a two dimensional barcode. Specifically, if the barcode includes a region where several neighboring modules are darkened, it is possible that the window, which may be about the size of a 2×2 module array, will land on an area that is completely printed (i.e., no “white” pixels). As will be appreciated, that portion will fail the second test described above because there will not be sufficient variation in reflectivity. Normally, one would think that the covered portion would pass the first test because of the “darkness” of the portion. However, many inks that are used to print two dimensional barcodes in postal indicia do not have sufficient ink optical density to pass the first test (e.g., blue or red inks are required by some posts). The ranges of parameters employed in thresholding addresses are selected to perform well on dark envelopes used by some mailers. In some cases, dark envelopes have a lower reflectivity that the required ink printed on other higher reflectivity envelopes. As a result, the covered portion, although it is a portion consisting entirely of darkened modules and therefore entirely of printed pixels, will fail both tests and be considered to be background and all of the pixels will be converted to white by the thresholding process. As will be appreciated, this will result in the loss of data as modules that should be binary “ones” (filled) will be converted to binary “zeroes” (empty). In the case of the finder patterns described above, this will result in damage to the finder patterns and thus possible difficulty in locating the barcodes when they are to be decoded. Thus, there is a need for a method of printing two dimensional barcodes that avoids the problems caused by current OCR thresholding algorithms as described above.